The present disclosure relates to controlling communications between applications and resources of a mobile device.
Applications developed for mobile devices are distributed in an application package containing the elements needed to run the application, such as the program code, resources, certificates and a manifest. In some cases, it is desirable for an entity such as an application designer, application owner, or enterprise administrator to exercise control over the operation of an application after deployment to mobile devices. For example, it may be desirable to provide security policies that control what mobile device resources the application can access.
To accomplish this, the program code of the application may be modified to include code that performs or links to monitoring and control functions. This modification is referred to as “application wrapping.” When an application is wrapped, a layer of code is added to the application executable code to add features or modify behavior of the application without making changes to the application operational functionality. The addition of wrapping code may reduce the risk to an enterprise of improper or unauthorized use of an application. For example, wrapping can add security and management features to an application before it is deployed across mobile devices of an enterprise.